#pragma once

#define Handler_GZ_GUILD_DECL( p )		static VOID On##p( ServerSession * pServerSession, MSG_BASE * pRecvMsg, WORD wSize )
#define Handler_GZ_GUILD_IMPL( p )		VOID Handler_GZ_GUILD::On##p( ServerSession * pServerSession, MSG_BASE * pRecvMsg, WORD wSize )

struct MSG_BASE;
class ServerSession;

class Handler_GZ_GUILD
{
public:
	Handler_GZ_GUILD(void){}
	~Handler_GZ_GUILD(void){}


	Handler_GZ_GUILD_DECL(GZ_GUILD_INFO_BRD);
	Handler_GZ_GUILD_DECL(GZ_GUILD_DESTROY_BRD);
	Handler_GZ_GUILD_DECL(GZ_GUILD_JOIN_BRD);
	Handler_GZ_GUILD_DECL(GZ_GUILD_WITHDRAW_BRD);


	Handler_GZ_GUILD_DECL(GZ_GUILD_SELECT_ACK);
	Handler_GZ_GUILD_DECL(GZ_GUILD_CREATE_ACK);

	Handler_GZ_GUILD_DECL(GZ_GUILD_SELECT_NAK);
	Handler_GZ_GUILD_DECL(GZ_GUILD_CREATE_NAK);
	Handler_GZ_GUILD_DECL(GZ_GUILD_DESTROY_NAK);
	Handler_GZ_GUILD_DECL(GZ_GUILD_JOIN_NAK);
	Handler_GZ_GUILD_DECL(GZ_GUILD_WITHDRAW_NAK);
};
